<?php
namespace app\walletyhbbadmin\controller;
use Think\Db;
use think\Collection;
use Think\page;
use think\Session;
class Guanggao extends AdminBase
{
    //空操作跳转404页面
    public function _empty()
    {
        header("HTTP/1.0 404 Not Found");
        $this->display('Public:404');
    }

    /**
     * 广告列表
     */
    public function index()
    {
        //俩表联查
        $ad_name=input('ad_name');
        if(!empty($ad_name)){
            $where['ad_name']=array('like','%'.$ad_name.'%');
        }
        $gg = DB::name("ad")->alias("a")
            ->join("ad_position b","a.pid = b.position_id")
            ->where($where)
            ->paginate(5, false, ['query' => input()]);
        $page = $gg->render();
        $gg = $gg->all();
        //赋值
        $this->assign('page', $page);
        $this->assign('gg', $gg);
        return $this->fetch();
    }

    /**
     * 添加广告页面
     */
    public function addGuanggao()
    {
        return $this->fetch('guanggao/add');
    }

    /*
     *添加广告
     **/
    public function insertGuanggao()
    {
        $request = request();
        //获取input里的值
        $data['ad_name'] = input('ad_name');//广告名称
        $data['ad_link'] = input('ad_link');//广告链接
        $data['status'] = input('status');//状态
        $data['start_time'] = time();//时间
        $res['position_name'] = input('position_name');//广告位置名称
        $res['ad_width'] = input('ad_width');//广告宽度
        $res['ad_height'] = input('ad_height');//广告高度
        $res['position_desc'] = input('position_desc');//广告描述
        //判断添加信息是否为空
        if (empty($data['ad_name,ad_link,position_name,position_desc'])) {
            $this->error('请补全信息', '/walletyhbbadmin/Guanggao/addGuanggao');
        }
        //添加图片
        $file = $request->file('ad_code');
        //判断图片不能为空
        if (empty($file)) {
            $this->error('请您上传模板图片', '/walletyhbbadmin/Guanggao/addGuanggao');
        } else {
            $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'guanggao');
            $filename = $info->getSaveName();
            //存储图片上传的路径
            $data['ad_code'] = '/public/uploads/guanggao/' . str_replace('\\', '/', $info->getsaveName());
        }
        //添加数据库
        $data['pid'] = DB::name('ad_position')->insertGetId($res);
        $bool = DB::name('ad')->insert($data);
        //判断是否添加成功
        if ($bool) {
            $this->success('添加成功', U('Guanggao/index'));
        } else {
            $this->error('添加失败', '/walletyhbbadmin/Guanggao/addGuanggao');
        }
    }


    /**
     * 修改广告上架下架状态
     */
    public function updateStatus()
    {
        //获取id
        $ad_id = input('ad_id');
        //查库
        $goods_status = Db::name('ad')->where(array('ad_id' => $ad_id))->find();
        //判断状态
        if ($goods_status['enabled'] == 1) {
            $data['enabled'] = 0;
        } else {
            $data['enabled'] = 1;
        }
        //改库
        $res = Db::name('ad')->where(array('ad_id' => $ad_id))->update($data);
        //判断是否修改成功
        if ($res) {
            $this->success('修改成功');
        } else {
            $this->error('参数错误');
        }
    }

    /**
     * 删除广告
     */
    public function delGuanggao(){
        //获取id
        $ad_id=input('ad_id');
        $where['ad_id'] = input('ad_id');
        //删除库对应ID
        $res=Db::name('ad')->where($where)->delete();
        //判断是否删除成功
        if($res){
            $data['info']='删除成功';
            $data['status']='1';
            return json($data);
        }else{
            $data['info']='删除失败';
            $data['status']='-1';
            return json($data);
        }
    }

    /*
     *修改页面
     **/
    public function edit(){
        //获取ID
        $where['ad_id'] = input('ad_id');
        //查库
        $info = DB::name('ad')->where($where)->find();
        $res = DB::name('ad_position')->where('position_id',$info['pid'])->find();
        //赋值
        $this->assign('info',$info);
        $this->assign('res',$res);
        //跳转页面
        return $this->fetch('guanggao/edit');
    }

    /*
     *执行修改
     **/
    public function updateGuanggao(){
        $request = request();
        //获取ID
        $where['ad_id'] = input('ad_id');
        //查库
        $info = DB::name('ad')->where($where)->find();
        //获取input里的值
        $data['ad_name'] = input('ad_name');//广告名称
        $data['ad_link'] = input('ad_link');//广告链接
        $data['enabled'] = input('enabled');//广告状态
        $res['position_name'] = input('position_name');//广告位置名称
        $res['ad_width'] = input('ad_width');//广告宽度
        $res['ad_height'] = input('ad_height');//广告高度
        $res['position_desc'] = input('position_desc');//广告描述
        //获取广告图片
        $file = $request->file('ad_code');//广告图片
        //判断图片不能为空
        if(!empty($file)){
            $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'guanggao');
            $filename = $info->getSaveName();
            //存储图片上传的路径
            $data['ad_code'] = '/public/uploads/guanggao/' . str_replace('\\', '/', $info->getsaveName());
        }
        //修改后添加到数据库
        $bool = DB::name('ad')->where($where)->update($data);
        $bool2 = DB::name('ad_position')->where('position_id',$info['pid'])->update($res);
        //判断是否修改成功
        if($bool!==false && $bool2!==false){
            $this->success('修改成功','/walletyhbbadmin/Guanggao/index');
        }else{
            $this->error('修改失败');
        }
    }
}